package com.zzx.service;

import com.zzx.bean.Courier;
import com.zzx.exception.DuplicateIdentityException;

import java.util.List;
import java.util.Map;

/**
 * @Author: Spider Man
 * @Description:
 * @Date Created in 2020-09-15 12:14
 * @Modified By:
 */
public interface BaseCourierService {

    /**
     * 用于显示用户人数和用户日注册量
     * @return {size:总数，day:日增加量}
     */
    List<Map<String,Integer>> console();

    /**
     * 用于查询所有快递员的信息
     * @param limit 是否分页的标记，true表示要分页，false表示不用分页
     * @param offset SQL语句的起始索引
     * @param pageNumber 页查询的数量
     * @return 快递对象员的集合
     */
    List<Courier> findAllCourierInfo(boolean limit,int offset,int pageNumber);

    /**
     * 根据手机号查找快递员
     * @param cPhone 要查找的快递员的手机号
     * @return 快递员的信息
     */
    Courier findCourierByCPhone(String cPhone);

    /**
     * 插入快递员信息
     * @param courier 插入快递员信息
     * @return true表示成功,false表示失败
     */
    boolean insert(Courier courier) throws DuplicateIdentityException;

    /**
     * 快递员的修改
     * @param cid 快递员的ID
     * @param courier 新的快递员对象
     * @return ture表示更新成功，false表示更新失败
     */
    boolean update(int cid, Courier courier);

    /**
     * 根据ID删除快递员信息
     * @param cid 要删除的快递ID
     * @return true表示成功，false表示删除失败
     */
    boolean delete(int cid);
}
